using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using Credinka.Ayni.SEA.EN;
using Credinka.Ayni.SEA.AD;
namespace Credinka.Ayni.SEA.RN
{

    public class rnProducto : rnGeneral
    {
        adProducto oadProducto;

        public List<enProducto> Listar(enProducto poenProducto)
        {
            List<enProducto> loenProducto = null;
            using (SqlConnection con = new SqlConnection(sConexion))
            {
                try
                {
                    con.Open();
                    loenProducto = new List<enProducto>();
                    oadProducto = new adProducto(con);
                    loenProducto = oadProducto.fListar(poenProducto);
                }
                catch (SqlException ex)
                {
                }
            }
            return (loenProducto);
        }

        public List<enProducto> ListarPorId(enProducto poenProducto)
        {
            List<enProducto> loenProducto = null;
            using (SqlConnection con = new SqlConnection(sConexion))
            {
                try
                {
                    con.Open();
                    loenProducto = new List<enProducto>();
                    oadProducto = new adProducto(con);
                    loenProducto = oadProducto.fListarPorId(poenProducto);
                }
                catch (SqlException ex)
                {
                }
            }
            return (loenProducto);
        }

        public int Registrar(enProducto poenProducto, List<DataTable> pldtProductoCaracteristica)
        {
            int N = -1;
            using (SqlConnection con = new SqlConnection(sConexion))
            {
                try
                {
                    con.Open();
                    oadProducto = new adProducto(con);
                    N = oadProducto.fRegistrar(poenProducto, pldtProductoCaracteristica);
                }
                catch (SqlException ex)
                {
                }
            }
            return (N);
        }

        public int Modificar(enProducto poenProducto)
        {
            int N = -1;
            using (SqlConnection con = new SqlConnection(sConexion))
            {
                try
                {
                    con.Open();
                    oadProducto = new adProducto(con);
                    N = oadProducto.fModificar(poenProducto);
                }
                catch (SqlException ex)
                {
                }
            }
            return (N);
        }

        public int Contar()
        {
            int totalProducto = -1;
            using (SqlConnection con = new SqlConnection(sConexion))
            {
                try
                {
                    con.Open();
                    oadProducto = new adProducto(con);
                    totalProducto = oadProducto.fContar();
                }
                catch (SqlException ex)
                {
                }
            }
            return (totalProducto);
        }
    }
}
